from django.contrib import admin
from .models import Post,Category,Comment,Brief
#向管理站点中添加博客模型
# admin.site.register(Post)
#当前模板继承ModelAdmin的自定义类，在管理站点中注册
#该类中，包含管理站点中与模型显示方式及交互方式相关的信息
@admin.register(Post)#@admin.register与我们替换的admin.site.register(Post)相同
class PostAdmin(admin.ModelAdmin):
    #list_display属性是设置希望在管理对象列表页面中显示的模型字段
    list_display = ('title','slug','author','publish','status')
    # 过滤器,侧栏显示内容
    list_filter = ('status','created','publish','author')
    # 在列表页可以模糊搜索的字段，对应搜索框
    search_fields = ('title','body')
    # 填加页面,在某字段输入值后,自动填加到指定字段
    # prepopulated_fields = {"email": ("user",)},email字段会在用户填加user字段时自动填充
    prepopulated_fields = {'slug':('title',)}
    # 详情页,针对外键和M2M字段变成input框形式
    raw_id_fields = ('author',)
    # 详细时间分层筛选，搜索框下的日期显示
    date_hierarchy = 'publish'
    ##ordering设置默认排序字段，负号表示降序排序
    ordering = ('status','publish')

#评论
@admin.register(Comment)
class CommentAdmin(admin.ModelAdmin):
    # list_display属性是设置希望在管理对象列表页面中显示的模型字段
    list_display = ('name', 'email', 'post', 'created', 'active')
    # 过滤器,侧栏显示内容
    list_filter = ('active', 'created', 'updated')
    # 在列表页可以模糊搜索的字段，对应搜索框
    search_fields = ('name', 'email', 'body') #显示搜索栏

#分类
@admin.register(Category)
class CategoryAdmin(admin.ModelAdmin):
    # list_display属性是设置希望在管理对象列表页面中显示的模型字段
    list_display = ('class_name',)
    # 过滤器,侧栏显示内容
    list_filter = ('class_name',)
    # 在列表页可以模糊搜索的字段，对应搜索框
    search_fields = ('class_name',) #显示搜索栏

#关于页面信息
@admin.register(Brief)
class BriefAdmin(admin.ModelAdmin):
    # list_display属性是设置希望在管理对象列表页面中显示的模型字段
    list_display = ('img','body_img','opacity','letter')